The internal ABSCNT device manages the acquisition and manipulation of the position from absolute sensors. These sensors are typically absolute encoders with different types of output interface (parallel, SSI, etc.) The main features of the device are:
For use the device you must declare it in the INTDEVICE section of the unit configuration.
;--------------------------------- ; Internal devices Declaration ;--------------------------------- INTDEVICE ... <nome> ABSCNT TCamp IAbsCont ICont
Dove:
| Field name | Description | Example | Note |
|---|---|---|---|
| <nome> | Device name | Axe | - |
| ANPOS2 | Keyword that identifies the device ABSCNT | - | - |
| TCamp | Device sampling time in milliseconds | 4 | - |
| IAbsCont | Absolute counter number (Verify the HW documentation of the product for the correct value to set) | 1 | |
| ICont | Incremental counter address generated by the device (always 1.CNTx) | 1.CNT01 | If entering the value X. X field is ignored |
![]() | All fields of the Declaration are mandatory and must be present on the same line. Set “X.X” or “X” if a resource is not available or cannot be used. Disable a resource means disable all functionality of the devices that use it. |
|---|
The “Communication configuration” block Configure Protocol blocks appropriately in accordance with the number of bits to be captured, with the number of bits to “discard”, with the capture mode, etc.
The “SSI protocol interface” block executes the acquisition of data from a transducer with SSI protocol. The read data should then be manipulated to get information by absolute position.
The “Communication error control” block does the control of the “quality” of data acquired by the transducer. Controls can be equal and/or, for transducers that require it, the verification of certain bits of error present in the frame.
The “Speed checking” block check the rotational speed in RPM compared to the maximum and shall report any overshoot. His task is to detect errors in the acquisition of the data.
The “Reversing” block manages the reversal of direction of rotation that causes the increase in location determined byst_cntdir.
The “Module” block manipulates the position acquired and subtracts the offset to bring it back within the range 0÷(pulserev x revnum) quando signenab be worth 0 and within the range -(pulserev x revnum)/2 ÷ (pulserev x revnum)/2 when signenab be worth 1.
The “Position conversion” block converts from value bits position at value position in units of measurement. The data obtained (posit) can have decimal or sexagesimal representation depending on the setting parameter posittype.
| Short description | Protocol type |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read - Write |
| Unit measure | - |
| Valid range | 0÷0 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
Defines the protocol type used for acquisition of position transducer:
0= SSI
| Short description | SSI Bits frame number |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read - Write |
| Unit measure | - |
| Valid range | 1÷63 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
Is the total number of bits that make up the SSI frame.
| Short description | Non-significant bits in the SSI frame number |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read - Write |
| Unit measure | - |
| Valid range | 1÷15 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
It is the number of bits, starting from the MSbit, which are meaningless for the reconstruction of the given by the transducer.
| Short description | The frame number insignificant SSI frame queued |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read - Write |
| Unit measure | - |
| Valid range | 1÷15 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
It is the number of bits, starting from the LSbit, which are meaningless for the reconstruction of the given position from the transducer.
| Short description | Data code |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read - Write |
| Unit measure | - |
| Valid range | 0÷1 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
It is the type of encoding of the data acquired by the position transducer:
0: Binary code
1: Gray code
| Short description | Logical data type |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read |
| Unit measure | - |
| Valid range | 0÷1 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
Indicates the type of data captured by the transducer position:
0: normal
1: inverse
| Short description | Parity check |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read - Write |
| Unit measure | - |
| Valid range | 0÷2 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
Indicates the type of parity check on SSI data:
0: disable
1: odd parity
2: even parity
| Short description | Bit position equal |
|---|---|
| Dimension | Byte |
| Default value | Ritentive |
| Access type | Read - Write |
| Unit measure | - |
| Valid range | 0÷31 |
| Parameter ID | - |
| Write conditions | st_updenab = 0 |
Description:
Location of parity within the frame. This parameter is meaningful only if par > 0.
| Breve descrizione | Posizione bit errore 1 |
|---|---|
| Dimensione | Byte |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 0÷31 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Posizione del bit errore 1 all'interno del frame SSI. Parametro attualmente non implementato.
| Breve descrizione | Posizione bit errore 2 |
|---|---|
| Dimensione | Byte |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 0÷31 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Posizione del bit errore 1 all'interno del frame SSI. Parametro attualmente non implementato.
| Breve descrizione | Modalità acquisizione dato |
|---|---|
| Dimensione | Byte |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 0÷1 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
E' la modalità temporale di acquisizione del dato dal trasduttore:
0: ogni tempo di campionamento device ABSCNT
1: continuo
| Breve descrizione | Frequenza di clock utilizzata nel protocollo SSI |
|---|---|
| Dimensione | Byte |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 0÷3 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Seleziona la frequenza di clock utilizzata nel protocollo SSI:
0: 1MHz
1: 500KHz
2: 250KHz
3: 125KHz
| Breve descrizione | Tempo monoflop |
|---|---|
| Dimensione | Byte |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | uS (microsecondi) |
| Range valido | 0÷127 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Indica il tempo in microsecondi di monoflop. Questo è il tempo che viene atteso tra due acquisizioni con protocollo SSI, quando l'aggiornamento del dato è di tipo continuo(updatemode = 1). Il valore impostato sarà approssimato per eccesso ad un multiplo del periodo della frequenza di clock (inverso di clockrate). Se il valore impostato non è ottenibile dal device perchè troppo grande viene segnalato un warning.
| Breve descrizione | Numero delle posizioni/giro |
|---|---|
| Dimensione | Long |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 1÷999999 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Numero delle posizioni per giro del trasduttore (dato di targa).
| Breve descrizione | Numero giri |
|---|---|
| Dimensione | Word |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 1÷999999 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
E' il numero di giri gestiti dal trasduttore riportati sui dati di targa. Il valore è significativo quando si utilizzano trasduttori multigiro, per i trasduttori monogiro impostare il valore 1.
| Breve descrizione | Abilitazione segno |
|---|---|
| Dimensione | Byte |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 0÷1 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Abilita l'interpretazione del dato acquisito dal trasduttore con il segno.
0: posizione acquisita solo positiva
1: posizione acquisita solo positiva e negativa
| Breve descrizione | Tipo di rappresentazione parametro posit |
|---|---|
| Dimensione | Byte |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 0÷1 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Definisce il tipo di rappresentazione del valore di posizione acquisita sul parametro posit:
0: decimale
1: sessagesimale (gradi e primi)
| Breve descrizione | Misura di riferimento per il calcolo del position factor |
|---|---|
| Dimensione | Long |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | Um |
| Range valido | 1÷999999 |
| ID parametro | - |
| Condizioni di scrittura |
Descrizione:
Indica lo spazio, in unità di misura, percorso dall'asse per ottenere gli impulsi primari impostati nel parametro pulse. Questo parametro è utilizzato per il calcolo del fattore di conversione tra impulsi primari ed unità di misura.
posit = (encoder ⋅ measure) / pulse
Il rapporto measure/pulse deve avere un valore compreso tra 0.00935 e 1.
| Breve descrizione | Numero di impulsi primari per il calcolo del position factor |
|---|---|
| Dimensione | Long |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | 1÷999999 |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Indica il numero di impulsi primari (1 impulso encoder = 4 impulsi primari) che genererà il trasduttore bidirezionale per ottenere un movimento pari a measure. Questo parametro è utilizzato per il calcolo del fattore di conversione tra impulsi primari ed unità di misura.
posit = (encoder · measure) / pulse
Il rapporto measure/pulse deve avere un valore compreso tra 0.00935 e 1.
| Breve descrizione | Velocità massima |
|---|---|
| Dimensione | Word |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | RPM |
| Range valido | 0÷32767 |
| ID parametro | - |
| Condizioni di scrittura | st_updenab = 0 |
Descrizione:
Indica la velocità massima espressa in giri al minuto(RPM) dove per giro si intende il valore di posizione in unità di misura corrispondente agli impulsi definiti in pulserev. Questo parametro viene utilizzato per controllare la bontà del valore acquisito dal trasduttore; in pratica il device verifica che tra due valori consecutivi di posizione acquisiti vi sia una variazione “coerente” con le velocità e che tale variazione non superi quella che si otterrebbe quando il trasduttore ruota al valore impostato sul parametro. Impostando valore 0 si disabilita il controllo.
| Breve descrizione | Valore in bit posizione assoluta |
|---|---|
| Dimensione | Long |
| Valore di default | 0 |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | - |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
E' il valore espresso in bit ( posizioni encoder) della posizione assoluta del trasduttore. Il valore assunto da questo parametro va da 0 a (pulserev · revnum) quando signenab vale 0 e va da -(pulserev· revnum)/2 a (pulserev · revnum)/2 quando signenab vale 1.
| Breve descrizione | Valore in UM posizione assoluta |
|---|---|
| Dimensione | Long |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | Um |
| Range valido | |
| ID parametro | |
| Condizioni di scrittura | - |
Descrizione:
E' il valore espresso in Unità di misura della posizione assoluta del trasduttore. Si ottiene dalla seguente formula: encoder · measure / pulse.
| Breve descrizione | parametro 01 |
|---|---|
| Dimensione | Long |
| Valore di default | 0 |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Parametro 01. Non utilizzato, riservato per usi futuri.
| Breve descrizione | parametro 02 |
|---|---|
| Dimensione | Long |
| Valore di default | 0 |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Parametro 02. Non utilizzato, riservato per usi futuri.
| Breve descrizione | parametro 03 |
|---|---|
| Dimensione | Long |
| Valore di default | 0 |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Parametro 03. Non utilizzato, riservato per usi futuri.
| Breve descrizione | parametro 04 |
|---|---|
| Dimensione | Long |
| Valore di default | 0 |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Parametro 04. Non utilizzato, riservato per usi futuri.
| Breve descrizione | parametro ritentivo 01 |
|---|---|
| Dimensione | Long |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Parametro ritentivo 01. Non utilizzato, riservato per usi futuri.
| Breve descrizione | parametro ritentivo 02 |
|---|---|
| Dimensione | Long |
| Valore di default | Ritentivo |
| Tipo di accesso | Read - Write |
| Unità di misura | - |
| Range valido | |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Parametro ritentivo 02. Non utilizzato, riservato per usi futuri.
| Breve descrizione | Codice di identificazione dell'errore. |
|---|---|
| Dimensione | Byte |
| Valore di default | 0 |
| Tipo di accesso | Read |
| Unità di misura | - |
| Range valido | - |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Indica il tipo di errore rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.
| Breve descrizione | Codice di identificazione della causa dell'errore |
|---|---|
| Dimensione | Byte |
| Valore di default | 0 |
| Tipo di accesso | Read |
| Unità di misura | - |
| Range valido | - |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Indica il tipo di causa dell'errore rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.
| Breve descrizione | Codice di identificazione warning |
|---|---|
| Dimensione | Byte |
| Valore di default | 0 |
| Tipo di accesso | Read |
| Unità di misura | - |
| Range valido | |
| ID parametro | - |
| Condizioni di scrittura | - |
Descrizione:
Indica il tipo di warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.
| Breve descrizione | Codice di identificazione della causa del warning |
|---|---|
| Dimensione | Byte |
| Valore di default | 0 |
| Tipo di accesso | Read |
| Unità di misura | - |
| Range valido | - |
| ID parametro | |
| Condizioni di scrittura | - |
Descrizione:
Indica la causa del warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.
| Breve descrizione | Stato abilitazione aggiornamento |
|---|---|
| Valore di default | 0 |
| ID stato | - |
Descrizione:
Indica che l'acquisizione del dato di posizione dal trasduttore è abilitata e regolata dal parametro updatemode.
0 = acquisizione disabilitata.
1 = acquisizione abilitata.
| Breve descrizione | Stato di direzione antioraria per l'incremento del conteggio. |
|---|---|
| Valore di default | Ritentivo |
| ID stato | - |
Descrizione:
Indica la direzione di rotazione che causa l'incremento del conteggio.
0 = orario.
1 = antiorario.
| Breve descrizione | Presenza di un warning. |
|---|---|
| Valore di default | 0 |
| ID stato | - |
Descrizione:
Indica lo stato di warning del device, per riconoscere il tipo di warning si deve fare riferimento alle variabili wrncode e wrnvalue.
0 = warning non presente.
1 = warning presente.
| Breve descrizione | Presenza di un errore. |
|---|---|
| Valore di default | 0 |
| ID stato |
Descrizione:
Indica lo stato di errore del device, per riconoscere il tipo di errore si deve far riferimento alle variabili errcode e errvalue.
0 = errore non presente.
1 = errore presente.
| Breve descrizione | Stato Stato 1 generico |
|---|---|
| Valore di default | 0 |
| ID stato | - |
Descrizione:
Stato disponibile per future implementazioni.
| Breve descrizione | Stato Stato 2 generico |
|---|---|
| Valore di default | 0 |
| ID stato | - |
Descrizione:
Stato disponibile per future implementazioni.
| Breve descrizione | Stato Stato 3 generico |
|---|---|
| Valore di default | 0 |
| ID stato | - |
Descrizione:
Stato disponibile per future implementazioni.
| Breve descrizione | Stato Stato 4 generico |
|---|---|
| Valore di default | 0 |
| ID stato | - |
Descrizione:
Stato disponibile per future implementazioni.
| Breve descrizione | Abilitazione aggiornamento conteggio. |
|---|---|
| Condizione | st_updenab = 0 |
| ID comando | - |
Descrizione:
Abilita l'acquisizione del dato di posizione dal trasduttore in accordo con il parametro updatemode.
| Breve descrizione | Disabilitazione aggiornamento conteggio. |
|---|---|
| Condizione | st_updenab = 1 |
| ID comando | - |
Descrizione:
Disabilita l'acquisizione del dato di posizione dal trasduttore.Con l'aggiornamento disabilitato è possibile modificare i parametri di comunicazione.
| Breve descrizione | Direzione incremento conteggio antiorario. |
|---|---|
| Condizione | st_updenab = 0 |
| ID comando | - |
Descrizione:
Imposta la direzione di incremento del conteggio ad antiorario.
| Breve descrizione | Direzione incremento conteggio orario. |
|---|---|
| Condizione | st_updenab = 0 |
| ID comando | - |
Descrizione:
Imposta la direzione di incremento del conteggio ad orario.
| Breve descrizione | Reset dello stato di errore. |
|---|---|
| Condizione | st_error = 1 |
| ID comando | - |
Descrizione:
Azzera lo stato di errore (st_error) nel caso non sia più presente la condizione di errore.
| Breve descrizione | Reset dello stato di warning. |
|---|---|
| Condizione | st_warning = 1 |
| ID comando | - |
Descrizione:
Azzera lo stato st_warning.
| Breve descrizione | Comando generico 1. |
|---|---|
| Condizione | - |
| ID comando | - |
Descrizione:
Comando disponibile per future implementazioni.
| Breve descrizione | Comando generico 2. |
|---|---|
| Condizione | - |
| ID comando | - |
Descrizione:
Comando disponibile per future implementazioni.
| Breve descrizione | Comando generico 3. |
|---|---|
| Condizione | - |
| ID comando | - |
Descrizione:
Comando disponibile per future implementazioni.
| Breve descrizione | Comando generico 4. |
|---|---|
| Condizione | - |
| ID comando | - |
Descrizione:
Comando disponibile per future implementazioni.
Quando il device non riesce ad eseguire le operazioni derivanti da una non corretta programmazione da parte dell'utente segnala questa condizione tramite l'attivazione dello stato st_error. Il device, inoltre, rende disponibili, tramite i valori sui parametri errcode ed errvalue, alcune informazioni per meglio comprendere il tipo di errore e quale condizione l'ha generato. Tali informazioni e lo stato di errore st_error, permangono finché non viene eseguito l'apposito comando RSERR che li cancella.
La seguente tabella specifica i valori assunti da errcode:
| errcode | Descrizione |
|---|---|
| 0 | Nessun errore. |
| 1 | Errore generico |
| 2 | Errore hardware: l'hardware non supporta dispositivi di conteggio assoluto. |
Per mezzo del parametro errvalue è possibile ottenere informazioni più dettagliate riguardo l'errore.
Attualmente il parametro errvalue non è utilizzato e vale sempre 0.
Quando l'impostazione di un parametro del device non viene accettata o quando non è possibile eseguire un comando il device segnala questa condizione tramite l'attivazione dello stato st_warning.
Il device, inoltre, rende disponibili, tramite i valori sui parametri wrncode e wrnvalue, alcune informazioni per meglio comprendere il tipo di warning e quale condizione l'ha generato.
Tali informazioni e lo stato di warning st_warning, permangono finché non viene eseguito l'apposito comando RSWRN che li cancella.
La seguente tabella specifica i valori assunti da wrncode:
| wrncode | Descrizione |
|---|---|
| 0 | Nessun warning. |
| 1 | parametro non accettato: la scrittura su un parametro non è andata a buon fine. |
| 2 | comando non eseguito. |
| 3 | velocità troppo alta. |
| 4 | errore di parità. |
Per mezzo del parametro wrnvalue è possibile ottenere informazioni più dettagliate riguardo il warning.
| wrnvalue | Descrizione |
|---|---|
| 0 | nessuna informazione aggiuntiva riguardo il warning. |
| 1 | operazione non abilitata. |
| 2 | dato fuori range. |